package main

import (
	"github.com/xgdapg/wtk"
	"strings"
)

type PluginDisqus struct {
	Plugin
}

func init() {
	pluginManager.RegisterPlugin(&PluginDisqus{})
}

func (this *PluginDisqus) Start() {
	this.Plugin.Start()
	shortname := this.Data
	if shortname == "" {
		shortname = "your_disqus_shortname"
		this.SaveData(shortname)
	}

	this.RegisterHook(wtk.HookAfterRender, func(h *wtk.HookHandler) {
		if strings.HasPrefix(h.Context.Request.URL.Path, "/post/") {
			disqus := `<div id="disqus_thread"></div> <script type="text/javascript"> var disqus_shortname = '` + shortname + `'; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>`
			this.GetBlock(h, "PostComment").Set(disqus)
		}
	})
}
